<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <div id="app">
       <!-- <input v-model="val" type="text"> -->

       <input v-model="obj.name" type="text">
       <input v-model="obj.age" type="text">
    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>

        new Vue({
            // 元素
            el: "#app",
            // 定义的数据(状态)
            data: {
                val: "",
                obj: {
                    name: "张三",
                    age: 18
                }
            },
            // 可以监听 data中的数据
            watch: {
                val(newValue, oldValue) {
                    // newValue  当前的内容  
                    // oldValue  上一次的内容
                    // console.log(newValue, oldValue)
                    if (newValue.length === 11) {
                        alert('正确')
                    }
                },
                // 监听引用类型   需要开启深度监听
                obj: {
                    // 开启深度
                    deep: true,
                    // 处理监听的函数
                    handler(newValue) {
                        console.log(newValue)
                    }
                }
            }
        })
    </script>
</body>

</html>